package negocio;

import exception.ImpossivelCompletarTarefaException;
import modelo.Profissional;
import persistencia.DAOProfissional;

	public class FachadaMensagem {

	private DAOProfissional daoProfissional = new DAOProfissional();

		public void inserirProfissional(Profissional profissional) throws ImpossivelCompletarTarefaException{
			Profissional profissionalInserido = daoProfissional.buscarProfissional(profissional.getEmail());
			if (profissionalInserido != null){
				throw new ImpossivelCompletarTarefaException("Já existe um Profissional cadastrado com esse E-Mail: " + profissional.getEmail());
			}
			daoProfissional.inserir(profissional);
		}
	
		
		public void atualizarProfissional(Profissional profissional) throws ImpossivelCompletarTarefaException{
			Profissional profissionalInserido = daoProfissional.buscarProfissional(profissional.getEmail());
			if (profissionalInserido == null){
				throw new ImpossivelCompletarTarefaException("Não existe um Profissional cadastrado com este E-Mail: " + profissional.getEmail());
			}
			daoProfissional.atualizar(profissional);
		}
		
		public void excluirProfissional(Profissional profissional) throws ImpossivelCompletarTarefaException{
			Profissional profissionalInserido = daoProfissional.buscarProfissional(profissional.getEmail());
			if (profissionalInserido == null){
				throw new ImpossivelCompletarTarefaException("Não existe um Prrofissional cadastrado com este E-Mail: " + profissional.getEmail());
			}
			daoProfissional.excluir(profissional);
		}
		
		public Profissional buscarProfissional(String email) throws ImpossivelCompletarTarefaException{
			Profissional profissionalInserido = daoProfissional.buscarProfissional(email);
			if (profissionalInserido == null){
				throw new ImpossivelCompletarTarefaException("Não existe um Profissdional cadastrado com este E-Mail: " + email);
			}
			return profissionalInserido;
		}
		
}

